package com.ruoyi.business.service;

import java.time.LocalDateTime;
import java.util.List;

import com.ruoyi.business.domain.BizCoupon;
import com.ruoyi.business.domain.BizPeopleCoupon;
import com.ruoyi.business.domain.BizPeopleCouponExport;

/**
 * 用户券码Service接口
 * 
 * @author ruoyi
 * @date 2024-06-18
 */
public interface IBizPeopleCouponService 
{
    /**
     * 查询用户券码
     * 
     * @param userCouponId 用户券码主键
     * @return 用户券码
     */
    public BizPeopleCoupon selectBizPeopleCouponByUserCouponId(Long userCouponId);

    /**
     * 查询用户券码列表
     * 
     * @param bizPeopleCoupon 用户券码
     * @return 用户券码集合
     */
    public List<BizPeopleCoupon> selectBizPeopleCouponList(BizPeopleCoupon bizPeopleCoupon);
    public List<BizPeopleCouponExport> selectBizPeopleCouponListExport(BizPeopleCoupon bizPeopleCoupon);

    /**
     * 新增用户券码
     * 
     * @param bizPeopleCoupon 用户券码
     * @return 结果
     */
    public int insertBizPeopleCoupon(BizPeopleCoupon bizPeopleCoupon);

    /**
     * 修改用户券码
     * 
     * @param bizPeopleCoupon 用户券码
     * @return 结果
     */
    public int updateBizPeopleCoupon(BizPeopleCoupon bizPeopleCoupon);

    /**
     * 批量删除用户券码
     * 
     * @param userCouponIds 需要删除的用户券码主键集合
     * @return 结果
     */
    public int deleteBizPeopleCouponByUserCouponIds(Long[] userCouponIds);

    /**
     * 删除用户券码信息
     * 
     * @param userCouponId 用户券码主键
     * @return 结果
     */
    public int deleteBizPeopleCouponByUserCouponId(Long userCouponId);

    /**
     * 查询用户券的数量
     * @param i
     * @param start
     * @param end
     * @return
     */
	Long selectTotalByStatus(BizCoupon bizCoupon);

    /**
     * 已过期的券总数
     * @return
     */
    Long expiredTotal(BizCoupon bizCoupon);

}
